package com.sc.nft.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.dto.wallet.DaoOpenWalletDTO;
import com.sc.nft.dto.wallet.VerifyOpenAccountDTO;
import com.sc.nft.entity.DaoAccountBankInfo;
import com.sc.nft.entity.DaoCustomerOpenAccount;
import com.sc.nft.entity.dto.DaoUnbindDTO;
import com.sc.nft.enums.WalletChannelEnum;

import java.util.List;

/**
 * 服务接口
 *
 * @author zxy
 * @since 2023-11-25 16:18:38
 * @description 商户banner
 */
public interface DaoCustomerOpenAccountService {

    /**
     * 商家端开户
     * @param dto
     */
    void customerOpenAccount(DaoOpenWalletDTO dto);

    /**
     * 开户验证
     */
    void verifyOpenAccount(VerifyOpenAccountDTO dto);

    /**
     * 查询开户信息
     * @param id
     * @return
     */
    DaoOpenWalletDTO getByIdAndDaoId(Long id,Long daoId);

    /**
     * 钱包列表
     * @param daoId
     * @param walletChannel
     * @return
     */
    Page<DaoCustomerOpenAccount> getByDaoId(Long daoId, WalletChannelEnum walletChannel,Page page);

    Page<DaoAccountBankInfo> getWalletBankCardPage(Long id,Long daoId,Page page);


    /**
     * 解除绑定
     * @param dto
     */
    void unbind(DaoUnbindDTO dto);

}
